#include <iostream>
#include <vector>
#include <assert.h>

using namespace std;

#include "Vector.h"

void test1()
{
	my_vector::vector<int> v;
	v.push_back(1);
	v.push_back(2);
	v.push_back(3);
	v.push_back(4);
	v.push_back(5);
	v.push_back(6);
	v.push_back(7);
	v.push_back(7);
	v.push_back(7);
	v.push_back(7);
	v.push_back(7);
	v.push_back(7);
	v.push_back(7);
	v.print();

	my_vector::vector<int> v2(v);
	v2.print();
}

void test2()
{
	my_vector::vector<int> v;
	v.push_back(1);
	v.push_back(2);
	v.push_back(3);
	v.push_back(4);
	v.push_back(5);
	v.push_back(6);
	v.push_back(7);
	v.print();

	v.pop_back();
	v.print();
	v.pop_back();
	v.print();
	v.pop_back();
	v.print();
	v.pop_back();
	v.print();
	v.pop_back();
	v.print();
	v.pop_back();
	v.print();
	v.pop_back();
	v.print();
}

void test3()
{
	my_vector::vector<string> vv;
	vv.push_back("1111111111");
	vv.push_back("2222222222");
	vv.push_back("3333333333");
	vv.push_back("4444444444");
	vv.push_back("5555555555");
	vv.print();
}

void test4()
{
	my_vector::vector<int> v;
	v.resize(10, 1);
	v.print();

	my_vector::vector<int> v2;
	v2.push_back(1);
	v2.push_back(2);
	v2.push_back(3);
	v2.push_back(4);
	v2.push_back(5);
	v2.resize(10, 1);
	v2.print();
	v2.resize(6);
	v2.print();
}

int main()
{
	//test1();
	//test2();
	//test3();

	test4();

	return 0;
}
